package com.demo.java.OD501_550.OD548;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【抢7游戏(C卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146530144
 */
public class OdMain {
    public static int count = 0;  // 统计符合条件的组合次数

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();  // 读取输入的起始数字
        backtrace(num, 1);  // 从A开始报数，数字为num
        System.out.println(count);  // 输出最终的组合次数
    }

    // 递归回溯函数，flag表示当前报数的是A还是B
    public static void backtrace(int num, int flag) {
        // 如果num小于等于0，说明已经结束，判断是否满足条件
        if (num <= 7) {
            if (flag == 0) {
                count += 1;  // 如果是B报数，记录组合
            }
            return;
        } else if (num < 10) {
            // 如果num小于10且为A报数，记录组合
            if (flag == 1) {
                count += 1;
                return;
            }
        }

        // 递归处理：分别尝试减去1和减去2的情况
        backtrace(num - 1, flag == 1 ? 0 : 1);  // 如果当前是A报数，下一轮是B报数
        backtrace(num - 2, flag == 1 ? 0 : 1);  // 如果当前是A报数，下一轮是B报数
    }
}